.. :validated: 3.1.0

Обновление подсистем
====================

.. attention::

   Для релиз-кандидата ссылки на deb-пакеты неактивны. Необходимо использовать iso-образы (см. раздел :ref:`connecting_repositories` → **Установка с помощью iso-образов**).

Подготовка к обновлению
-----------------------

Убедиться, что в качестве источников пакетов для ОС зарегистрированы основной репозиторий (``main``) и репозиторий с обновлениями (``repository-update``), а в файле ``/etc/apt/sources.list`` указаны следующие строки, при необходимости — добавить, если имеются другие записи, то закомментировать их или удалить:

.. code-block:: bash

   deb https://dl.astralinux.ru/astra/frozen/1.7_x86-64/<номер_обновления_ОС_СН>/repository-main 1.7_x86-64 main non-free contrib
   deb https://dl.astralinux.ru/astra/frozen/1.7_x86-64/<номер_обновления_ОС_СН>/repository-update 1.7_x86-64 main non-free contrib

При использовании 1.7.ххх с установленным срочным оперативным обновлением (UU) необходимо дополнительно указать **frozen** репозиторий, соответствующий обновлению.

Обновить пакеты ОС, выполнив в терминале команду:

.. code-block:: bash

   sudo apt update && sudo apt install astra-update -y && sudo astra-update -A -r -T

Обновление подсистемы «Сетевой Репозиторий»
---------------------------------------------

Обновление через портал управления с помощью групповой политики
-----------------------

В системе с версии 2.2.0 внедрен функционал централизованного обновления **aldpro-client** на компьютерах домена через **Портал Управления**. Подробную инструкцию см. в :ref:`update_usinf_MP`.
Запуск команд по обновлению осуществляется по таймеру. Максимальное время запуска обновления: 160 минут.

.. attention::

   Перед обновлением ОС на серверах подсистемы «Сетевой Репозиторий» необходимо убедиться, что пакет ``dpkg-dev`` установлен из репозиториев **ALD Prо**:

.. code-block:: bash
    
   apt-cache policy dpkg-dev

Пример результата выполнения команды:

.. code-block:: bash

   dpkg-dev:
       Установлен: 1.19.8+aldpro1
       Кандидат:   1.19.8+aldpro1
       Таблица версий: 
      ***  1.19.8+aldpro1 900
               900 https://dl.astralinux.ru/aldpro/frozen/01/2.5.0 1.7_x86-64/base amd64 Packages
               100 /var/lib/dpkg/status

Если установлена другая версия, то необходимо выполнить команду:

.. code-block:: bash

   apt install dpkg-dev=<версия в составе ALD Pro>

Пример:

.. code-block:: bash

   apt install dpkg-dev=1.19.8+aldpro1

``dpkg-dev`` является обязательной зависимостью ``aldpro-sr``. При этом ``dpkg-dev`` присутствует только в **base** репозитории **ALSE**. Если установка или обновление производились на этот репозиторий, то ``dpkg-dev`` будет установлен из состава **base**. Если для очередного обновления будет заменен **base** репозиторий на **main + update**, в таком случае обновятся пакеты ``dpkg``, а ``dpkg-dev`` будет удален (что повлечёт за собой удаление ``aldpro-sr``), так как у него в зависимостях указана конкретная версия библиотеки ``libdpkg-perl``.

Форсированное обновление (обновление вручную)
-----------------------

Для обновления в ручном режиме необходимо выполнить действия ниже.

Подключить обновленный репозиторий **ALD Prо**, выполнив в терминале команду:

.. code-block:: bash

   sudo nano /etc/apt/sources.list.d/aldpro.list

Полностью заменить содержимое файла ``aldpro.list``:

.. code-block:: bash

   deb https://dl.astralinux.ru/aldpro/frozen/01/3.2.0/ 1.7_x86-64 main base

Обновить пакеты продукта **ALD Pro** командой:

.. code-block:: bash

   sudo apt dist-upgrade -y -o Dpkg::Options::=--force-confnew

Скачать и установить последнюю версию Policy Manager командой:

.. code-block:: bash

   sudo aldpro-gpupdate --pm

Применить групповые политики командой:

.. code-block:: bash

  sudo aldpro-gpupdate --gp

В процессе выполнения обновления, при появлении сообщения с подтверждением изменения файла настройки пакета, необходимо выбрать **Установить версию, предлагаемую сопровождающим пакета**, введя в командной строке **Y**.

Выбор карточки сервера подсистемы осуществляется в соответствующем разделе: подсистема **Репозиторий ПО**: **Установка и обновление ПО** → **Репозитории ПО** → **Серверы репозиториев ПО**.

.. note::

   Для лучшего контроля за процессом обновления рекомендуется использовать форсированное обновление на сервере подсистемы:

.. code-block:: bash

   sudo aldpro-roles --iud --action update

После обновления системы на портале управления первого контроллера домена необходимо перейти в карточку обновляемого сервера и убедиться, что состояние подсистемы имеет статус **Обновлена**, без ошибок. Поле **Версия системы ALD Prо** должно содержать версию системы, до которой было выполнено обновление.

Если по результатам обновления в карточке сервера подсистема находится в состоянии **Установлено**, **Ошибка**, не указана версия, то изучить лог:

- */var/log/aldpro-salt/subsystem.log*.

Обновление подсистемы «Общий доступ к файлам»
---------------------------------------------

Обновление через портал управления с помощью групповой политики
-----------------------

В системе с версии 2.2.0 внедрен функционал централизованного обновления **aldpro-client** на компьютерах домена через **Портал Управления**. Подробную инструкцию см. в :ref:`update_usinf_MP`.
Запуск команд по обновлению осуществляется по таймеру. Максимальное время применения обновления: 160 минут.

Начиная с версии 2.3.0 после создания ГП и перед обновлением клиента необходимо **на компьютере подсистемы Общего Доступа к Файлам** выполнить следующую команду:

.. code-block:: bash
    
    kdestroy -A
    
Форсированное обновление (обновление вручную)
-----------------------

Для обновления в ручном режиме необходимо выполнить действия ниже.

Подключить обновленный репозиторий **ALD Prо**, выполнив в терминале команду:

.. code-block:: bash

   sudo nano /etc/apt/sources.list.d/aldpro.list

Полностью заменить содержимое файла ``aldpro.list``:

.. code-block:: bash

   deb https://dl.astralinux.ru/aldpro/frozen/01/3.2.0/ 1.7_x86-64 main base

Обновить пакеты продукта **ALD Pro** командой:

.. code-block:: bash

   sudo apt dist-upgrade -y -o Dpkg::Options::=--force-confnew

Скачать и установить последнюю версию Policy Manager командой:

.. code-block:: bash

   sudo aldpro-gpupdate --pm

Применить групповые политики командой:

.. code-block:: bash

  sudo aldpro-gpupdate --gp

В процессе выполнения обновления, при появлении сообщения с подтверждением изменения файла настройки пакета, необходимо выбрать **Установить версию, предлагаемую сопровождающим пакета**, введя в командной строке **Y**.

Выбор карточки сервера подсистемы осуществляется в соответствующем разделе: подсистема **Общий доступ к сетевым дискам**: **Роли и службы сайта** → **Общий доступ к файлам** → **Перечень серверов**.

.. note::

   Для лучшего контроля за процессом обновления рекомендуется использовать форсированное обновление на сервере подсистемы:

.. code-block:: bash

   sudo aldpro-roles --iud --action update

После обновления системы на портале управления первого контроллера домена необходимо перейти в карточку обновляемого сервера и убедиться, что состояние подсистемы имеет статус **Обновлена**, без ошибок. Поле **Версия системы ALD Prо** должно содержать версию системы, до которой было выполнено обновление.

Если по результатам обновления в карточке сервера подсистема находится в состоянии **Установлено**, **Ошибка**, не указана версия, то изучить лог:

- */var/log/aldpro-salt/subsystem.log*.

Обновление подсистемы «Сервер Печати»
---------------------------------------------

Обновление через портал управления с помощью групповой политики
-----------------------

В системе с версии 2.2.0 внедрен функционал централизованного обновления **aldpro-client** на компьютерах домена через **Портал Управления**. Подробную инструкцию см. в :ref:`update_usinf_MP`.
Запуск команд по обновлению осуществляется по таймеру. Максимальное время применения обновления: 160 минут.

Форсированное обновление (обновление вручную)
-----------------------

Для обновления в ручном режиме необходимо выполнить действия ниже.

Подключить репозиторий **ALD Prо**, выполнив в терминале команду:

.. code-block:: bash

   sudo nano /etc/apt/sources.list.d/aldpro.list

Полностью заменить содержимое файла ``aldpro.list``:

.. code-block:: bash

   deb https://dl.astralinux.ru/aldpro/frozen/01/3.2.0/ 1.7_x86-64 main base

Подключить обновленный репозиторий **ALD Prо**, выполнив в терминале команду:

.. code-block:: bash

   sudo apt dist-upgrade -y -o Dpkg::Options::=--force-confnew

Скачать и установить последнюю версию Policy Manager командой:

.. code-block:: bash

   sudo aldpro-gpupdate --pm

Применить групповые политики командой:

.. code-block:: bash

  sudo aldpro-gpupdate --gp

В процессе выполнения обновления, при появлении сообщения с подтверждением изменения файла настройки пакета, необходимо выбрать **Установить версию, предлагаемую сопровождающим пакета**, введя в командной строке **Y**.

Выбор карточки сервера подсистемы осуществляется в соответствующем разделе: подсистема **Печать**: **Роли и службы сайта** → **Служба печати** → **Серверы печати**.

.. note::

   Запуск команд по обновлению подсистемы «Сервер Печати» осуществляется по таймеру. Для лучшего контроля за процессом обновления рекомендуется использовать форсированное обновление на сервере подсистемы:

.. code-block:: bash

   sudo aldpro-roles --iud --action update

После обновления системы на портале управления первого контроллера домена необходимо перейти в карточку обновляемого сервера и убедиться, что состояние подсистемы имеет статус **Обновлена**, без ошибок. Поле **Версия системы ALD Pro** должно содержать версию системы, до которой было выполнено обновление.

Если по результатам обновления в карточке сервера подсистема находится в состоянии **Установлено**, **Ошибка**, не указана версия, то изучить лог:

- */var/log/aldpro-salt/subsystem.log*.

Обновление подсистемы «Динамическая настройка узла DHCP»
--------------------------------------------------------

Обновление через портал управления с помощью групповой политики
-----------------------

В системе с версии 2.2.0 внедрен функционал централизованного обновления **aldpro-client** на компьютерах домена через **Портал Управления**. Подробную инструкцию см. в :ref:`update_usinf_MP`.
Запуск команд по обновлению осуществляется по таймеру. Максимальное время применения обновления: 160 минут.

Форсированное обновление (обновление вручную)
-----------------------

Для обновления в ручном режиме необходимо выполнить действия ниже.

Подключить обновленный репозиторий **ALD Prо**, выполнив в терминале команду:

.. code-block:: bash

   sudo nano /etc/apt/sources.list.d/aldpro.list

Полностью заменить содержимое файла ``aldpro.list``:

.. code-block:: bash

   deb https://dl.astralinux.ru/aldpro/frozen/01/3.2.0/ 1.7_x86-64 main base

Обновить пакеты продукта **ALD Pro** командой:

.. code-block:: bash

   sudo apt dist-upgrade -y -o Dpkg::Options::=--force-confnew

Скачать и установить последнюю версию Policy Manager командой:

.. code-block:: bash

   sudo aldpro-gpupdate --pm

Применить групповые политики командой:

.. code-block:: bash

  sudo aldpro-gpupdate --gp

В процессе выполнения обновления, при появлении сообщения с подтверждением изменения файла настройки пакета, необходимо выбрать **Установить версию, предлагаемую сопровождающим пакета**, введя в командной строке **Y**.

Выбор карточки сервера подсистемы осуществляется в соответствующем разделе: подсистема **Динамическая настройка узла**: **Роли и службы сайта** → **Служба динамической настройки узла** → **Перечень серверов**.

.. note::

   Для лучшего контроля за процессом обновления рекомендуется использовать форсированное обновление на сервере подсистемы:

.. code-block:: bash

   sudo aldpro-roles --iud --action update

После обновления системы на портале управления первого контроллера домена необходимо перейти в карточку обновляемого сервера и убедиться, что состояние подсистемы имеет статус **Обновлена**, без ошибок. Поле **Версия системы ALD Pro** должно содержать версию системы, до которой было выполнено обновление.

Если по результатам обновления в карточке сервера подсистема находится в состоянии **Установлено**, **Ошибка**, не указана версия, то изучить лог:

- */var/log/aldpro-salt/subsystem.log*.

Обновление подсистемы «Установка ОС по сети»
---------------------------------------------

Обновление через портал управления с помощью групповой политики
-----------------------

В системе с версии 2.2.0 внедрен функционал централизованного обновления **aldpro-client** на компьютерах домена через **Портал Управления**. Подробную инструкцию см. в :ref:`update_usinf_MP`.
Запуск команд по обновлению осуществляется по таймеру. Максимальное время применения обновления: 160 минут.

Форсированное обновление (обновление вручную)
-----------------------

Для обновления в ручном режиме необходимо выполнить действия ниже.

Подключить обновленный репозиторий **ALD Prо**, выполнив в терминале команду:

.. code-block:: bash

   sudo nano /etc/apt/sources.list.d/aldpro.list

Полностью заменить содержимое файла ``aldpro.list``:

.. code-block:: bash

   deb https://dl.astralinux.ru/aldpro/frozen/01/3.2.0/ 1.7_x86-64 main base

Обновить пакеты продукта **ALD Pro** командой:

.. code-block:: bash

   sudo apt dist-upgrade -y -o Dpkg::Options::=--force-confnew

Скачать и установить последнюю версию Policy Manager командой:

.. code-block:: bash

   sudo aldpro-gpupdate --pm

Применить групповые политики командой:

.. code-block:: bash

  sudo aldpro-gpupdate --gp

В процессе выполнения обновления, при появлении сообщения с подтверждением изменения файла настройки пакета, необходимо выбрать **Установить версию, предлагаемую сопровождающим пакета**, введя в командной строке **Y**.

Выбор карточки сервера подсистемы осуществляется в соответствующем разделе: подсистема **Установка ОС по сети**: **Автоматизация** → **Установка ОС по сети** → **Серверы установки ОС**.

В системе с версии 2.2.0 внедрен функционал централизованного обновления ``aldpro-client`` на компьютерах домена через Портал Управления. Подробная инструкция приведена см. в **Руководство администратора. Часть 2** → **Справочные материалы** → **Обновление подсистем ALD Pro через Портал управления**.

.. note::

   Для лучшего контроля за процессом обновления рекомендуется использовать форсированное обновление на сервере подсистемы:

   .. code-block:: bash

   sudo aldpro-roles --iud --action update

После обновления системы на портале управления первого контроллера домена необходимо перейти в карточку обновляемого сервера и убедиться, что состояние подсистемы имеет статус **Обновлена**, без ошибок. Поле **Версия системы ALD Pro** должно содержать версию системы, до которой было выполнено обновление.

Если по результатам обновления в карточке сервера подсистема находится в состоянии **Установлено**, **Ошибка**, не указана версия, то изучить лог:

- */var/log/aldpro-salt/subsystem.log*.

Обновление подсистемы «Сервер Мониторинга»
---------------------------------------------

Обновление через портал управления с помощью групповой политики
---------------------------------------------------------------

В системе с версии 2.2.0 внедрен функционал централизованного обновления **aldpro-client** на компьютерах домена через **Портал Управления**. Подробную инструкцию см. в :ref:`update_usinf_MP`.
Запуск команд по обновлению осуществляется по таймеру. Максимальное время применения обновления: 160 минут.

Форсированное обновление (обновление вручную)
-----------------------

Для обновления в ручном режиме необходимо выполнить действия ниже.

Подключить обновленный репозиторий **ALD Prо**, выполнив в терминале команду:

.. code-block:: bash

   sudo nano /etc/apt/sources.list.d/aldpro.list

Полностью заменить содержимое файла ``aldpro.list``:

Последним шагом необходимо обновить подсистему мониторинга. Для этого перейти на портал управления: **Мониторинг** → **Журнал событий мониторинга** → **Серверы мониторинга**. В карточке сервера нажать **Обновить ALD Pro**.

   deb https://dl.astralinux.ru/aldpro/frozen/01/3.2.0/ 1.7_x86-64 main base

Обновить пакеты продукта **ALD Pro** командой:

      sudo aldpro-roles --iud

   sudo apt dist-upgrade -y -o Dpkg::Options::=--force-confnew

Скачать и установить последнюю версию Policy Manager командой:

Обеспечение обратной совместимости и синхронизация паролей между КД и сервером мониторинга при обновлении до 3.1.0
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

   sudo aldpro-gpupdate --pm

Применить групповые политики командой:

Стандартно выполняется следующий алгоритм:

  sudo aldpro-gpupdate --gp

В процессе выполнения обновления, при появлении сообщения с подтверждением изменения файла настройки пакета, необходимо выбрать **Установить версию, предлагаемую сопровождающим пакета**, введя в командной строке **Y**.

Выбор карточки сервера подсистемы осуществляется в соответствующем разделе: подсистема **Мониторинг**: **Журнал событий мониторинга** → **Серверы мониторинга**.

Для лучшего контроля за процессом обновления рекомендуется использовать форсированное обновление на сервере подсистемы:

.. code-block:: bash

   sudo aldpro-roles --iud --action update

После обновления системы на портале управления первого контроллера домена необходимо перейти в карточку обновляемого сервера и убедиться, что состояние подсистемы имеет статус **Обновлена**, без ошибок. Поле **Версия системы ALD Pro** должно содержать версию системы, до которой было выполнено обновление.

Если по результатам обновления в карточке сервера подсистема находится в состоянии **Установлено**, **Ошибка**, не указана версия, то изучить лог:

- */var/log/aldpro-salt/subsystem.log*.

.. note::

Обеспечение обратной совместимости синхронизации паролей между КД и сервером мониторингом при обновлении до 3.2.0
-------------------------------------------------------------------------------------------------------------------

.. note::

   В версии **ALD Pro** 3.2.0-rc1 каждый КД генерирует уникальную учетную запись для подключения к **Zabbix**. В предыдущих версиях использовалась одна общая учетная запись для всех КД. Старый сервер мониторинга не распознает новые учетные записи КД до момента своего обновления до версии 3.2.0-rc1.

   В результате, после обновления первого КД все обновленные контроллеры домена теряют возможность подключения к серверу мониторинга старой версии.
   
Рекомендуется следовать одному из двух вариантов обеспечения обратной совместимости синхронизации паролей между КД и сервером мониторинга при обновлении до 3.2.0-rc1. 

Перед выполнением процедур обеспечения совместимости необходимо обновить ОС на сервере мониторинга до версии 1.7.8.

Данная команда принудительно применяет конфигурационные состояния, включая обновление учетных записей в **Zabbix** на основе данных из LDAP.

**Вариант 1. Последовательное обновление**

Обновить сервер мониторинга до версии 3.2.0 сразу после обновления первого КД.

Сервер мониторинга сможет работать с обновленными КД через новые учетные записи. Старая учетная запись продолжит работать для не обновленных КД.

**Вариант 2. Ручное создание учетной записи**

- Получить учетные данные на обновленном КД:

.. code-block:: bash

   aldpro-salt-call pillar.get aldpro_deploy_data:passwords:zabbix_monitoring

- Преобразовать полученный пароль:

.. code-block:: bash

   aldpro-salt-call aldpro_subsystems.password_decrypt password_enc='<PASSWORD>' private_key_file=/etc/ssl/certs/dc_vault.key

- Создать учетную запись на сервере мониторинга. Перейти на сервер мониторинга и выполнить:

.. code-block:: bash

   sudo -u zabbix psql -d zabbix

- В интерфейсе PostgreSQL выполнить запросы, подставив полученные значения:

.. code-block:: bash

   -- ВАЖНО: Заменить 'monitoring_dc01' на полученное имя пользователя
   ,→(username)
   -- ВАЖНО: Заменить 'N47zQw43K9WH47q4gtrsuAAyDrmW' на полученный пароль
   ,→(password)
   INSERT INTO users (userid, username, passwd, roleid)
   SELECT
   COALESCE(MAX(userid), 1000) + 1,
   'monitoring_dc01',
   crypt('N47zQw43K9WH47q4gtrsuAAyDrmW', gen_salt('bf')),
   '3'
   FROM users
   WHERE userid::text ~ '^[0-9]+$'
   ON CONFLICT (username)
   DO UPDATE SET
   passwd = EXCLUDED.passwd,
   roleid = EXCLUDED.roleid
   RETURNING userid, username;
   -- ВАЖНО: Убедиться, что username соответствует вставленному в предыдущем
   ,→запросе
   INSERT INTO users_groups (id, usrgrpid, userid)
   SELECT
   (SELECT COALESCE(MAX(id), 1000) + 1 FROM users_groups),
   (SELECT usrgrpid FROM usrgrp WHERE name = 'Internal'),
   userid
   FROM users
   WHERE username = 'monitoring_dc01'
   ON CONFLICT (userid, usrgrpid)
   DO NOTHING;

После выполнения этих действий в **Zabbix** будет создана учетная запись для портала управления, что обеспечит возможность подключения к обновленным КД даже до обновления самого сервера мониторинга до версии 3.2.0.

Обновление подсистемы «Журналирование»
--------------------------------------

Обновление через портал управления с помощью групповой политики
-----------------------

В системе с версии 2.2.0 внедрен функционал централизованного обновления **aldpro-client** на компьютерах домена через **Портал Управления**. Подробную инструкцию см. в :ref:`update_usinf_MP`.
Запуск команд по обновлению осуществляется по таймеру. Максимальное время применения обновления: 160 минут.

Форсированное обновление (обновление вручную)
-----------------------

Для обновления в ручном режиме необходимо выполнить действия ниже.

Подключить обновленный репозиторий **ALD Prо**, выполнив в терминале команду:

.. code-block:: bash

   sudo nano /etc/apt/sources.list.d/aldpro.list

Полностью заменить содержимое файла ``aldpro.list``:

.. code-block:: bash

   deb https://dl.astralinux.ru/aldpro/frozen/01/3.2.0/ 1.7_x86-64 main base

Обновить пакеты продукта **ALD Pro** командой:

.. code-block:: bash

   sudo apt dist-upgrade -y -o Dpkg::Options::=--force-confnew

Скачать и установить последнюю версию Policy Manager командой:

.. code-block:: bash

   sudo aldpro-gpupdate --pm

Применить групповые политики командой:

.. code-block:: bash

  sudo aldpro-gpupdate --gp

В процессе выполнения обновления, при появлении сообщения с подтверждением изменения файла настройки пакета, необходимо выбрать **Установить версию, предлагаемую сопровождающим пакета**, введя в командной строке **Y**.

Выбор карточки сервера подсистемы осуществляется в разделе: подсистема **Журналирование событий**: **Журнал событий** → **Серверы журнала событий**.

.. note::

   Для лучшего контроля за процессом обновления рекомендуется использовать форсированное обновление на сервере подсистемы:

.. code-block:: bash

   sudo aldpro-roles --iud --action update

После обновления системы на портале управления первого контроллера домена необходимо перейти в карточку обновляемого сервера и убедиться, что состояние подсистемы имеет статус **Обновлена**, без ошибок. Поле **Версия системы ALD Pro** должно содержать версию системы, до которой было выполнено обновление.

Если по результатам обновления в карточке сервера подсистема находится в состоянии **Установлено**, **Ошибка**, не указана версия, то изучить лог:

- */var/log/aldpro-salt/subsystem.log*.
